home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / Tool Chest / QuickDraw GX / QuickDraw GX Info / QuickDraw GX Interfaces / Interfaces & Libraries / Pascal Interfaces & Libraries / Pascal Interfaces / Messages.p < prev    next >
Encoding:
Text File  |  1994-03-24  |  3.2 KB  |  142 lines  |  [TEXT/MPS ]

  1. {
  2.     FILENAME
  3.         Messages.p
  4.  
  5.     DESCRIPTION
  6.         This file contains all of the public data structures, constants, and 
  7.         function declarations for the Message Manager.
  8.  
  9.     COPYRIGHT
  10.         Copyright © Apple Computer, Inc. 1989, 1990, 1991, 1992, 1993
  11.         All rights reserved. 
  12.     
  13. }
  14. {$IFC UNDEFINED UsingIncludes}
  15. {$SETC UsingIncludes := 0}
  16. {$ENDC}
  17.  
  18. {$IFC NOT UsingIncludes}
  19.     UNIT Messages;
  20.     INTERFACE
  21. {$ENDC}
  22.  
  23. {$IFC UNDEFINED UsingMessages}
  24. {$SETC UsingMessages := 1}
  25.  
  26. {$I+}
  27. {$SETC MessagesIncludes := UsingIncludes}
  28. {$SETC UsingIncludes := 1}
  29. {$IFC UNDEFINED UsingTypes}
  30. {$I $$Shell(PInterfaces)Types.p}
  31. {$ENDC}
  32. {$SETC UsingIncludes := MessagesIncludes}
  33.  
  34. { Constants }
  35.  
  36.  
  37. CONST
  38.  
  39.  
  40. { Message Manager Gestalt Selector... }
  41.     gestaltMessageMgrVersion = 'mess';
  42.  
  43.  
  44. { Message Manager Error Result Codes... }
  45.     messageStopLoopingErr = -5775;
  46.     cantDeleteRunningHandlerErr = -5776;
  47.     noMessageTableErr = -5777;
  48.     dupSignatureErr = -5778;
  49.     messageNotReceivedErr = -5799;
  50.  
  51.  
  52. { Message Manager Class Options... }
  53.     messageClassNoOptions         = $00000000;
  54.     messageClassIgnoreResult    = $80000000;
  55.  
  56.  
  57. { Message Manager Useful Constants... }
  58.     topMessageHandler     = 0;                { indicates top handler when position is expected }
  59.  
  60.  
  61. { the Message Manager trap }
  62.      messageManagerTrap = $ABFB;    
  63.      sendObjectMessageSelector = $702F;
  64.      sendObjectMessageToSelector = $7030;
  65.      startObjectMessageAtSelector = $7031;
  66.      sendMessageSelector = $7032;
  67.      sendMessageToSelector = $7033;
  68.      startMessageAtSelector = $7034;
  69.      forwardSelector = $7035;
  70.      forwardThisSelector = $7036;
  71.  
  72. TYPE
  73.  
  74. MessageClass = ^LONGINT;    { abstract data type for message class }
  75.  
  76. MessageHandler = ^LONGINT;    { abstract data type for message handler }
  77.  
  78. MessageObject = ^LONGINT;    { abstract data type for message object }
  79.  
  80. { definition of an override table... }
  81.  
  82.  
  83. MessageOverride  = PACKED RECORD
  84.     messageID: INTEGER;        { message being overridden }
  85.     dispatch1: LongInt;        { first dispatch selector }
  86.     dispatch2: LongInt;        { second dispatch selector }
  87.     END;
  88.  
  89. MessageOverrideTable  = PACKED RECORD
  90.     numOverrides: INTEGER;
  91.     overrides: ARRAY[1..1] OF MessageOverride;
  92.     END;
  93. MessageOverrideTablePtr = ^MessageOverrideTable;
  94.  
  95.  
  96. Signature =  OSType;
  97. MessageStackMark = ARRAY[0..1] OF Ptr;
  98.  
  99. MessageHandlerSetupProc = ProcPtr;
  100. MessageClassExceptionProc = ProcPtr;
  101. MessageObjectLoopProc = ProcPtr;
  102. MessageHandlerLoopProc = ProcPtr;
  103. MessageGlobalsInitProc = ProcPtr;
  104.  
  105. { ******************************* }
  106. { Message Handler API Routines... }
  107. { ******************************* }
  108.  
  109.  
  110.  
  111. FUNCTION GetMessageHandler : MessageHandler;
  112.     INLINE $7027, messageManagerTrap;
  113.  
  114. FUNCTION CountMessageHandlerInstances: LongInt;
  115.     INLINE $7028, messageManagerTrap;
  116.  
  117. FUNCTION GetMessageHandlerClassContext: LongInt;
  118.     INLINE $7029, messageManagerTrap;
  119.  
  120. FUNCTION SetMessageHandlerClassContext (refCon: LongInt): LongInt;
  121.     INLINE $702A, messageManagerTrap;
  122.  
  123. FUNCTION GetMessageHandlerInstanceContext : LongInt;
  124.     INLINE $702B, messageManagerTrap;
  125.  
  126. FUNCTION SetMessageHandlerInstanceContext (refCon: LongInt): LongInt;
  127.     INLINE $702C, messageManagerTrap;
  128.  
  129. FUNCTION NewMessageGlobals (messageGlobalsSize: LongInt; initProc: MessageGlobalsInitProc): OSErr;
  130.     INLINE $702D, messageManagerTrap;
  131.  
  132. PROCEDURE DisposeMessageGlobals;
  133.     INLINE $702E, messageManagerTrap;
  134.     
  135.  
  136.  
  137. {$ENDC}    { UsingMessages }
  138.  
  139. {$IFC NOT UsingIncludes}
  140.     END.
  141. {$ENDC}
  142.